﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NutriLeaf.Web.Core.Sleep
{
    public interface ISleep
    {
        void InsertUserSleep(int userId,TimeSpan duration,DateTime clientDateTime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void InsertUserSleep(Model.User user, TimeSpan duration,DateTime clientDatetime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void InsertUserSleep(Model.Sleep sleep,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        TimeSpan HoursUsersSleptInDay(int userId, DateTime clientDateTime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void RemoveUserSleep(int sleepId,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void RemoveUserSleep(Model.Sleep sleep, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.Sleep> GetSleepsInDay(int userId, DateTime clientDateTime, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.Sleep> GetSleepList(int userId, DateTime clientDateTimeStart, DateTime clientDateTimeEnd, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

    }
}